package org.arnetminer.personalized.dao;

import java.util.List;

import org.arnetminer.personalized.vo.Comment;
import org.arnetminer.personalized.vo.Message;
import org.arnetminer.personalized.vo.Status;
import org.arnetminer.personalized.vo.User;


public interface MessageDAO {
	public void initDao();
    
    public void save(Message transientInstance);
    
	public void delete(Message persistentInstance);
    
    public List findByExample(Message instance);

    public Object merge(Message detachedInstance);

    public void attachDirty(Message instance);
    
    public void attachClean(Message instance);
    
    public List findByProperties(final List<String> properties, final List values, final int start, final int max);
    
    public List findByProperties(final List<String> properties, final List values);
    
    public int findOutCountByUser(final User user, final int isDraft);
    
    public int findInCountByUser(final User user, final int isDraft);
    
    public boolean delete(long id);

    public Message findById(long id);
}
